// 全局样式 - 参考医疗管理系统UI设计

// 配色变量
:root {
  // 主色系 - 青绿色
  --color-primary: #5FBFAA;
  --color-primary-light: #7DD3C0;
  --color-primary-lighter: #A8E6D8;
  --color-primary-dark: #4A9B8A;
  
  // 辅助色 - 淡紫色
  --color-secondary: #8B9FE8;
  --color-secondary-light: #A8B9F5;
  --color-secondary-lighter: #C5D3FF;
  
  // 功能色
  --color-success: #66BB6A;
  --color-warning: #FFA726;
  --color-danger: #EF5350;
  --color-info: #42A5F5;
  
  // 背景渐变
  --bg-gradient: linear-gradient(135deg, #E8EAF6 0%, #B2DFDB 100%);
  --bg-gradient-soft: linear-gradient(135deg, #F5F7FF 0%, #E0F2F1 100%);
  --bg-card: #FFFFFF;
  
  // 中性色
  --color-text-primary: #2C3E50;
  --color-text-secondary: #607D8B;
  --color-text-light: #90A4AE;
  --color-text-placeholder: #B0BEC5;
  --color-border: #E0E0E0;
  --color-border-light: #ECEFF1;
  --color-divider: #F5F5F5;
  
  // 阴影
  --shadow-xs: 0 1px 4px rgba(0, 0, 0, 0.04);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
  --shadow-xl: 0 12px 32px rgba(0, 0, 0, 0.15);
  --shadow-card: 0 6px 20px rgba(95, 191, 170, 0.12);
  --shadow-card-hover: 0 8px 28px rgba(95, 191, 170, 0.18);
  
  // 圆角
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-2xl: 24px;
  --radius-full: 50%;
  
  // 间距
  --spacing-xs: 8px;
  --spacing-sm: 12px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;
  --spacing-2xl: 48px;
  
  // 过渡动画
  --transition-fast: 0.15s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.5s ease;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  height: 100%;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB',
    'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: var(--bg-gradient);
  color: var(--color-text-primary);
  overflow: hidden;
}

#app {
  width: 100%;
  height: 100%;
}

// 美化滚动条
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.03);
  border-radius: var(--radius-xs);
}

::-webkit-scrollbar-thumb {
  background: var(--color-primary-light);
  border-radius: var(--radius-xs);
  transition: background var(--transition-fast);
  
  &:hover {
    background: var(--color-primary);
  }
}

// 通用卡片样式
.card {
  background: var(--bg-card);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
  transition: all var(--transition-base);
  
  &:hover {
    box-shadow: var(--shadow-card-hover);
    transform: translateY(-2px);
  }
}

// 通用按钮增强
.btn-primary {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
  color: white;
  border: none;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-sm);
  transition: all var(--transition-base);
  
  &:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
  }
  
  &:active {
    transform: translateY(0);
  }
}

.btn-secondary {
  background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-secondary-light) 100%);
  color: white;
  border: none;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-sm);
  transition: all var(--transition-base);
  
  &:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
  }
}

// 输入框增强
.input-enhanced {
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  transition: all var(--transition-base);
  
  &:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(95, 191, 170, 0.1);
  }
}

// 文字渐变效果
.text-gradient {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
